﻿using DFGK_WMS.Model.Dto;
using DFGK_WMS.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DFGK.IService
{
    public interface IStocktakingOrderService
    {
        #region PC
        bool AddStocktakingOrder(StocktakingOrder m,out string message);

        bool DelStocktakingOrder(long id, out string message);

        bool UpdStocktakingOrder(StocktakingOrder m, out string message);

        List<StocktakingOrder> GetStocktakingOrderList(long? wid,long? aid, string? name,int? status, int pageIndex, int pageSize, out int totalCount);

        StocktakingOrder? GetStocktakingOrderById(long id);
        #endregion

        #region PDA
        /// <summary>
        /// 开始盘库
        /// </summary>
        /// <param name="m"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        bool StartStocktakingOrder(StocktakingOrderDto m, out string message);

        /// <summary>
        /// 完成盘库
        /// </summary>
        /// <param name="pickcode"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        bool FinishStocktakingOrder(string pickcode, out string message);

        /// <summary>
        /// 盘库回库
        /// </summary>
        /// <param name="m"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        bool StartStocktakingOrders(StocktakingOrderDto m, out string message);

        /// <summary>
        /// 完成盘库回库
        /// </summary>
        /// <param name="pickcode"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        bool FinishStocktakingOrders(string putcode, out string message);
        #endregion
    }
}
